package dict

import (
	"github.com/APP/internal/handler"
	"github.com/gin-gonic/gin"
)

func RegisterDictRoutes(group *gin.RouterGroup) {
	dictHandler := handler.NewDictHandler()

	// 字典类型管理
	dictGroup := group.Group("/dict")
	{
		dictGroup.POST("", dictHandler.CreateDict)        // 创建字典类型
		dictGroup.PUT("/:id", dictHandler.UpdateDict)     // 更新字典类型
		dictGroup.DELETE("/:id", dictHandler.DeleteDict)  // 删除字典类型
		dictGroup.GET("/:id", dictHandler.GetDict)        // 获取字典类型详情
		dictGroup.GET("", dictHandler.GetDictList)        // 获取字典类型列表
		dictGroup.GET("/types", dictHandler.GetDictTypes) // 获取所有字典类型
	}

	// 字典数据管理
	dictDataGroup := group.Group("/dict-data")
	{
		dictDataGroup.POST("", dictHandler.CreateDictData)              // 创建字典数据
		dictDataGroup.PUT("/:id", dictHandler.UpdateDictData)           // 更新字典数据
		dictDataGroup.DELETE("/:id", dictHandler.DeleteDictData)        // 删除字典数据
		dictDataGroup.GET("/:id", dictHandler.GetDictData)              // 获取字典数据详情
		dictDataGroup.GET("", dictHandler.GetDictDataList)              // 获取字典数据列表
		dictDataGroup.GET("/type/:type", dictHandler.GetDictDataByType) // 根据字典类型获取字典数据
	}
}
